import type { App } from 'vue'
import {
  // 方向类图标
  LeftOutlined,
  RightOutlined,
  UpOutlined,
  DownOutlined,
  ArrowLeftOutlined,
  ArrowRightOutlined,
  ArrowUpOutlined,
  ArrowDownOutlined,
  
  // 提示类图标
  QuestionOutlined,
  QuestionCircleOutlined,
  PlusOutlined,
  PlusCircleOutlined,
  PlusSquareOutlined,
  MinusOutlined,
  MinusCircleOutlined,
  MinusSquareOutlined,
  InfoOutlined,
  InfoCircleOutlined,
  ExclamationOutlined,
  ExclamationCircleOutlined,
  CloseOutlined,
  CloseCircleOutlined,
  CloseSquareOutlined,
  CheckOutlined,
  CheckCircleOutlined,
  CheckSquareOutlined,
  
  // 编辑类图标
  EditOutlined,
  FormOutlined,
  CopyOutlined,
  ScissorOutlined,
  DeleteOutlined,
  SnippetsOutlined,
  DiffOutlined,
  HighlightOutlined,
  
  // 数据类图标
  SearchOutlined,
  FilterOutlined,
  TableOutlined,
  BarsOutlined,
  StarOutlined,
  HeartOutlined,
  
  // 文件类图标
  FileOutlined,
  FileTextOutlined,
  FileAddOutlined,
  FileExcelOutlined,
  FileWordOutlined,
  FilePdfOutlined,
  FileImageOutlined,
  FileZipOutlined,
  FileUnknownOutlined,
  
  // 其他常用图标
  UserOutlined,
  TeamOutlined,
  SettingOutlined,
  ToolOutlined,
  AppstoreOutlined,
  CloudOutlined,
  CloudUploadOutlined,
  CloudDownloadOutlined,
  CloudSyncOutlined,
  ReloadOutlined,
  RedoOutlined,
  UndoOutlined,
  LoginOutlined,
  LogoutOutlined,
  PoweroffOutlined,
  MenuFoldOutlined,
  MenuUnfoldOutlined,
  FullscreenOutlined,
  FullscreenExitOutlined,
  EyeOutlined,
  EyeInvisibleOutlined,
  LockOutlined,
  UnlockOutlined,
  ExportOutlined,
  ImportOutlined,
  SaveOutlined,
  PrinterOutlined,
  ShareAltOutlined,
  DownloadOutlined,
  UploadOutlined,
  SyncOutlined,
  HomeOutlined,
  FolderOutlined,
  FolderOpenOutlined,
  CalendarOutlined,
  BellOutlined,
  MailOutlined,
  PhoneOutlined,
  GlobalOutlined,
  LoadingOutlined
} from '@ant-design/icons-vue'

// 常用图标列表
const icons = {
  // 方向类图标
  LeftOutlined,
  RightOutlined,
  UpOutlined,
  DownOutlined,
  ArrowLeftOutlined,
  ArrowRightOutlined,
  ArrowUpOutlined,
  ArrowDownOutlined,
  
  // 提示类图标
  QuestionOutlined,
  QuestionCircleOutlined,
  PlusOutlined,
  PlusCircleOutlined,
  PlusSquareOutlined,
  MinusOutlined,
  MinusCircleOutlined,
  MinusSquareOutlined,
  InfoOutlined,
  InfoCircleOutlined,
  ExclamationOutlined,
  ExclamationCircleOutlined,
  CloseOutlined,
  CloseCircleOutlined,
  CloseSquareOutlined,
  CheckOutlined,
  CheckCircleOutlined,
  CheckSquareOutlined,
  
  // 编辑类图标
  EditOutlined,
  FormOutlined,
  CopyOutlined,
  ScissorOutlined,
  DeleteOutlined,
  SnippetsOutlined,
  DiffOutlined,
  HighlightOutlined,
  
  // 数据类图标
  SearchOutlined,
  FilterOutlined,
  TableOutlined,
  BarsOutlined,
  StarOutlined,
  HeartOutlined,
  
  // 文件类图标
  FileOutlined,
  FileTextOutlined,
  FileAddOutlined,
  FileExcelOutlined,
  FileWordOutlined,
  FilePdfOutlined,
  FileImageOutlined,
  FileZipOutlined,
  FileUnknownOutlined,
  
  // 其他常用图标
  UserOutlined,
  TeamOutlined,
  SettingOutlined,
  ToolOutlined,
  AppstoreOutlined,
  CloudOutlined,
  CloudUploadOutlined,
  CloudDownloadOutlined,
  CloudSyncOutlined,
  ReloadOutlined,
  RedoOutlined,
  UndoOutlined,
  LoginOutlined,
  LogoutOutlined,
  PoweroffOutlined,
  MenuFoldOutlined,
  MenuUnfoldOutlined,
  FullscreenOutlined,
  FullscreenExitOutlined,
  EyeOutlined,
  EyeInvisibleOutlined,
  LockOutlined,
  UnlockOutlined,
  ExportOutlined,
  ImportOutlined,
  SaveOutlined,
  PrinterOutlined,
  ShareAltOutlined,
  DownloadOutlined,
  UploadOutlined,
  SyncOutlined,
  HomeOutlined,
  FolderOutlined,
  FolderOpenOutlined,
  CalendarOutlined,
  BellOutlined,
  MailOutlined,
  PhoneOutlined,
  GlobalOutlined,
  LoadingOutlined
}

// 注册所有图标组件
export function setupIcons(app: App) {
  Object.entries(icons).forEach(([name, component]) => {
    app.component(name, component)
  })
}

export default setupIcons 